Skip to main content

JSON 格式

JSON (Javascrīpt Object Notation)

优点:

  1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小

  2. 易于解析这种语言, 客户端Javascrīpt可以简单的通过eval()进行JSON数据的读取

  3. 支持多种语言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析

  4. 在PHP世界, 已经有PHP-JSON和JSON-PHP出现了, 便于PHP序列化后的程序直接调用. PHP服务器端的对象、数组等能够直接生JSON格式, 便于客户端的访问提取. 另外PHP的PEAR类已经支持

  5. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护

缺点: 没有XML格式深入人心和使用广泛, 没有XML那么通用性

xml和son的对比:

xml:

<menu id="file" value="File" >

<popup>

<menuitem value="New" onclick="CreateNewDoc()" />

<menuitem value="Open" onclick="OpenDoc()" />

<menuitem value="Close" onclick="CloseDoc()" />

</popup>

</menu>

json:

{
"menu": {
"id": "file",
"value": "File:",
"popup": {
"menuitem": [
{
"value": "New",
"onclick": "CreateNewDoc()"
},
{
"value": "Open",
"onclick": "OpenDoc()"
},
{
"value": "Close",
"onclick": "CloseDoc()"
}
]
}
}
}

以上可见:

1。对象object包含在{}中,

2。对象的属性member使用string : value 成对出现,属性与属性之间用逗号隔开,

3。数组array在[]中,如:[ elements ]

4。元素elements与元素之间用逗号隔开 elements , elements

5。元素值可具有的类型:string, number, object, array, true, false, null

应用范围;

JSON主要用在AJAX中,由于在客户端使用JavaScript脚本,故使用JSON,将使得进程的响应变得更快

如何在asp中组织json

很多语言支持json的编码和解码。php5.2以上,ruby等皆有对应的处理,在asp中需要自己去写,幸好网上有很多例子,

下面也列出一个asp把array数组组织到json的例子。

'root json 数据名

Function json_encode(root , arr_data)
If root = "" Then root = "root"

str_Head = "{" & Chr(13) & Chr(9) & Chr(9) & root & ":{ " & Chr(13) & Chr(9) & Chr(9) &Chr(9) & Chr(9) & "arrs:[ " & Chr(13)

str_Body = chr(9) & chr(9) & chr(9) & chr(9) & chr(9) & "{"
str_End = "}" & Chr(13) & chr(9) & chr(9) & chr(9) & chr(9) & "]" & chr(13) & chr(9) & chr(9) & "}" &chr(13) & "}"
for i = 0 to ubound(arr_data) – 1
str_Body = str_Body & chr(34) & i & chr(34) &":" ' name
str_Body = str_Body & chr(34) & arr_data(i) & chr(34) & "," 'value
Next

‘去除记录最后一个字段后的","
str_Body = left(str_Body,instrrev(str_Body,",")-1)
json_encode = str_Head & str_Body + str_End

End Function